package com.nexus.nsh.service.cliente;

import java.util.logging.Logger;

import com.nexus.nsh.exception.NSHModelException;
import com.nexus.nsh.model.dao.GenericDao;
import com.nexus.nsh.model.entity.Cliente;

public class ClienteService {

	private GenericDao<Cliente> dao;
	private Logger log;

	public ClienteService() {
		dao = new GenericDao<Cliente>();
		log = Logger.getLogger(this.getClass().getName());
	}

	public void cadastrarCliente(Cliente c) throws NSHModelException {

		log.info("Iniciando o cadastro do cliente: " + c.getNome());

		dao.insert(c);

		log.info("Cliente cadastrado com sucesso");
	}

	public void excluirCliente(Cliente c) {

		log.info("Iniciando exclusao do cliente: " + c.getNome());

		dao.delete(c);

		log.info("Cliente excluido com sucesso");
	}

	public Cliente encontrarClientePorCpf(long cpf) {

		log.info("Pesquisando cliente pelo cpf: " + cpf);

		Cliente c = dao.findById(Cliente.class, cpf);

		log.info("Encontrado o cliente: " + c.getNome());

		return c;
	}

}
